Automated Debugging Using Path-Based Weakest Preconditions

نویسندگان

  • Haifeng He
  • Neelam Gupta
چکیده

Software debugging is the activity of locating and correcting erroneous statements in programs. Automated tools to locate and correct the erroneous statements in a program can significantly reduce the cost of software development. In this paper, we present a new approach to locate and correct an erroneous statement in a function. We assume the correct specification of the erroneous function is available in the form of preconditions and postconditions of the function. Our approach combines ideas from software testing and weakest preconditions used in correctness proof methods to locate a likely erroneous statement. We have implemented our approach and conducted experiments with several small programs. In our experiments, our approach was able to locate the erroneous statements in a large number of cases. Our preliminary experimental results show that our approach has potential for development of an automated bug location and correction tool.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Weakest Liberal Preconditions relative to HR∗ Graph Conditions

Graph conditions are very important for graph transformation systems and graph programs in a large variety of application areas. With HR∗ graph conditions, non-local graph properties like “there exists a path of arbitrary length” or “the graph is cycle-free” can be expressed. Together with graph programs, these conditions form a framework for writing programs over graphs, and specifying invaria...

متن کامل

Simple characterizations for commutativity of quantum weakest preconditions

In a recent letter by Ying et al. [Inf. Process. Lett. 104 (2007) 152-158], it showed some sufficient conditions for commutativity of quantum weakest preconditions. This paper provides some simple characterizations for the commutativity of quantum weakest preconditions, i.e., Theorem 3, Theorem 4 and Proposition 5 in what follows. We also show that to characterize the commutativity of quantum w...

متن کامل

Smart test data generators via logic programming

We present a novel counterexample generator for the interactive theorem prover Isabelle based on a compiler that synthesizes test data generators for functional programming languages (e.g. Standard ML, OCaml) from specifications in Isabelle. In contrast to naive type-based test data generators, the smart generators take the preconditions into account and only generate tests that fulfill the pre...

متن کامل

Efficient weakest preconditions

Desired computer-program properties can be described by logical formulas called verification conditions. Different mathematically-equivalent forms of these verification conditions can have a great impact on the performance of an automatic theorem prover that tries to discharge them. This paper presents a simple weakest-precondition understanding of the ESC/Java technique for generating verifica...

متن کامل

Quantum weakest preconditions

We develop a notion of predicate transformer and, in particular, the weakest precondition, appropriate for quantum computation. We show that there is a Stone-type duality between the usual state-transformer semantics and the weakest precondition semantics. Rather than trying to reduce quantum computation to probabilistic programming we develop a notion that is directly taken from concepts used ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004